home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / LK_V1.06.LHA / LK V1.06 / HELP / define.hlp < prev    next >
Encoding:
INI File  |  1994-11-01  |  5.4 KB  |  150 lines

  1. [LANGUAGE english; PARENT keywords; PAGE 11-31]
  2. [C;6;B]        DEFINE or DEF <label=symbol> or <label=value> ...
  3. [7]Default: see the list of internal symbols below
  4. [J;1;N]
  5.   Add a declaration. This function may be used to declare an \
  6. equivalent or to set a specific value dynamically. A value \
  7. can be specified in decimal or hexadecimal. When you declare \
  8. an hexadecimal value, you must start it with the dollar ($) \
  9. sign.
  10.   When lk find a wrong value (Too large, with invalid digits.) \
  11. the value zero will be used instead (No warning is generated!)
  12.  
  13.   A label cannot start with the dollar ($) sign or any digit (0-9.) This \
  14. equivalent will not generates a 'defined twice' error and will \
  15. be used only when required (Which means, while this define is \
  16. present in one of your object file, the one defined on command \
  17. line remains useless.)
  18.  
  19.   While those defines are not recursive, a define must be or a \
  20. value or a symbol which exist in your object files.
  21.  
  22.   Labels are case sensitive except if CASEINSENSITIVE was \
  23. specified.
  24.   lk has some intern variables. Those are:
  25.   (Note: all DATA and BSS variables are defined with only the \
  26. relative data. Other DATA and BSS hunks are not considered.)
  27. [INDENT 7]
  28. [2]     __autostartup
  29. [1]         This label is automatically defined when required. \
  30. It points on the first hunk of code (except where it has \
  31. a reference) found or to the startup label when it has been \
  32. given. This enables a startup code like those of \
  33. 'priority.o' or 'stack.o'.
  34.  
  35. [2]     __BSS_BASE
  36. [1]         Defines the pointer at the beginning of the BSS block. \
  37. This is equal to the sum of __DATA_BASE and __DATA_LENGTH.
  38.  
  39. [2]     __BSS_LENGTH
  40. [1]         Defines the total length of the BSS block.
  41.          (This length is given in long words)
  42.  
  43. [2]     __COPYRIGHT
  44. [1]         The COPYRIGHT (or LIBID) instruction generate that \
  45. symbol as being a pointer on the automatically created string \
  46. identification. You can use it as you like.
  47.  
  48. [2]     __DATA_BASE
  49. [1]         Defines the pointer at the beginning of the DATA block.
  50.  
  51. [2]     __DATA_BYTESIZE
  52. [1]         Defines the total length of the near DATA block includind the \
  53. BSS block. This is the sum of __BSS_LENGTH and __DATA_LENGTH. This \
  54. length is given en byte.
  55.  
  56. [2]     __DATA_LENGTH
  57. [1]         Defines the length of the DATA block.
  58.          (This length is given in long words)
  59.  
  60. [2]     __DATA_OFFSET
  61. [1]         Defines the offset for (An) to access DATA buffer. \
  62. You may fix its value with the OFFSET command.
  63.  
  64. [2]     __DATA_POSITION
  65. [1]         Defines the position for (An) from the beginning of \
  66. the buffer. If you use the instruction OFFSET, you must first \
  67. negate the value (__DATA_POSITION = - __DATA_OFFSET.)
  68.  
  69. [2]     __DATA_SIZE
  70. [1]         Defines the total length of the near DATA block including the \
  71. BSS block. This is the sum of __BSS_LENGTH and __DATA_LENGTH.
  72.          (This length is given in long words)
  73.  
  74. [2]     __DATA_START
  75. [1]         Defines the pointer needed for An. This is also the sum \
  76. of __DATA_BASE and __DATA_OFFSET.
  77.  
  78. [2]     __ISDICE
  79. [1]         Is TRUE (1) when the keyword DICE was used, otherwise its \
  80. FALSE (0).
  81.  
  82. [2]     __ISPURE
  83. [1]         Is TRUE (1) when the keyword PURE was used, otherwise its \
  84. FALSE (0).
  85.  
  86. [2]     __ISSLINK
  87. [1]         Is TRUE (1) when the keyword SLINK was used, otherwise its \
  88. FALSE (0).
  89.  
  90. [2]     __LIBRARYPRIORITY
  91. [1]         Takes the value given through the LIBPRIORITY instruction. \
  92. This symbole can be used to automatically define the Amiga library \
  93. priority.
  94.  
  95. [2]     __LIBRARYREVISION
  96. [1]         Takes the value given through the LIBREVISION instruction. \
  97. This is to support the compatibility with Slink. This symbol is always \
  98. define and receive the value 0 by default.
  99.  
  100. [2]     __LIBRARYVERSION
  101. [1]         Takes the value given through the LIBVERSION instruction. \
  102. This is to support the compatibility with Slink. This symbol is always \
  103. define and receive the value 0 by default.
  104.  
  105. [2]     __NEGATIVESIZE
  106. [1]         Negative size for shared Amiga libraries. This is the number \
  107. of function multiply by 6. Note that from V36 of Exec, libraries are \
  108. automatically long word justified and this value might be wrong \
  109. by 2. It's preferable to use the system defined value which is \
  110. saved in LIB_NEGSIZE.
  111.  
  112. [2]     __NUMCTORS
  113. [1]         Total number of constructors.
  114.          (Valid only when the instruction SLINK was used)
  115.  
  116. [2]     __NUMDTORS
  117. [1]         Total number of destructors.
  118.          (Valid only when the instruction SLINK was used)
  119.  
  120. [2]     __NUMFUNCS
  121. [1]         This symbol contains the number of functions available \
  122. into a shared Amiga library.
  123.  
  124. [2]     PRIORITY
  125. [1]         Symbol created when the PRIORITY keyword is used, \
  126. please refer to that command for more information.
  127.  
  128. [2]     REVISION
  129. [1]         Symbol created when the VERSION keyword is used, \
  130. please refer to that command for more information.
  131.  
  132. [2]     __STACKSIZE
  133. [1]         Symbol always available. By default set to 4096 \
  134. and modified via the instruction STACKSIZE.
  135.  
  136. [2]     VERSION
  137. [1]         Symbol created when the VERSION keyword is used, \
  138. please refer to that command for more information.
  139. [INDENT]
  140.   See also:
  141. [L;3][LINK caseinsensitive]        CASEINSENSITIVE
  142. [LINK version]                LIBREVISION
  143. [LINK version]                LIBVERSION
  144. [LINK offset]                OFFSET
  145. [LINK priority]                PRIORITY
  146. [LINK pure]                PURE
  147. [LINK slink]                SLINK
  148. [LINK stacksize]            STACKSIZE
  149. [5; LINK about; GOTO address]        Become Registred
  150.